﻿jQuery(document).ready(function () {

    $('#message').hide();

    // Add validation parts
    $('#contact input[type=text], #contact input[type=email], #contact select, #contact textarea').each(function () {
        $(this).after('<mark class="validate"></mark>');
    });

    // Validate as you type
    $('.validaion').focusout(function () {
        if (!$.trim($(this).val()))
            $(this).addClass('error').parent().find('mark').removeClass('valid').addClass('error');
        else
            $(this).removeClass('error').parent().find('mark').removeClass('error').addClass('valid');
    });

    $('.drpValidator').focusout(function () {
        if ($(this).val() == 0)
            $(this).addClass('error');
        else
            $(this).removeClass('error');
    });


    $('.isNumeric').focusout(function () {
        if ($.trim($(this).val()))
            if (isNumeric($(this).val()))
                $(this).removeClass('error');
            else {
                $(this).addClass('error');
                var errorElem = $(this).parent().find('.errorMessage');
                showElem(errorElem);
            }
        else
            $(this).removeClass('error');

    });


    $('#email').focusout(function () {

        if (!$.trim($(this).val()))
            $(this).addClass('error').parent().find('mark').removeClass('valid').addClass('error');
        else {
            if (isEmail($(this).val()))
                $(this).removeClass('error').parent().find('mark').removeClass('error').addClass('valid');
            else {
                $(this).addClass('error').parent().find('mark').removeClass('valid').addClass('error');
                var errorElem = $(this).parent().find('.errorMessage');
                showElem(errorElem);
            }
        }
    });

    $('.fn_rePass').focusout(function () {
        if ($(this).val())
            if ($(this).val() != $('.fn_pass').val()) {
                $(this).addClass('error').parent().find('mark').removeClass('valid').addClass('error');
                var errorElem = $(this).parent().find('.errorMessage');
                showElem(errorElem);

            }
            else {
                $(this).removeClass('error').parent().find('mark').removeClass('error').addClass('valid');
            }
    });


    // start   *********** specially for login panel*************
    $('.userName').focusout(function () {
        if (!$.trim($(this).val()) || $(this).val() == 'نام کاربری')
            $(this).addClass('error').parent().find('mark').removeClass('valid').addClass('error');
        else
            $(this).removeClass('error').parent().find('mark').removeClass('error').addClass('valid');
    });

    $('.pass').focusout(function () {
        if (!$.trim($(this).val()) || $(this).val() == 'رمز عبور')
            $(this).addClass('error');
        else
            $(this).removeClass('error');
    });
    // end   *********** specially for login panel*************


    function isEmail(emailAddress) {

        var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);

        return pattern.test(emailAddress);
    }

    function isNumeric(input) {
        return (input - 0) == input && input.length > 0;
    }

    function showElem(input) {
        input.slideDown();
        setTimeout(function () { input.slideUp('slow'); }, 7000);
    }

});